#ifndef RTW_HEADER_ABI_h_
#define RTW_HEADER_ABI_h_
#include "rtwtypes.h"

typedef struct {
  uint32_T R;
  uint32_T B;
} BMSStoredTime;

typedef struct {
  uint8_T Interlock;
  uint16_T BoardVoltage_mV;
  uint32_T Bat_Vol;
  uint16_T CPVoltage_mV;
  uint16_T CC_R;
  uint16_T CC2Voltage_mV;
  uint32_T Shut_NTC1_AD;
  uint32_T MOS_NTC2_AD;
  uint32_T DC_PosTemp_AD;
  uint32_T DC_NegTemp_AD;
  uint16_T Current_AD;
  uint32_T PackID_AD;
} ABI_Adc_Type;

typedef struct {
  uint8_T FastCharge_WakeState;
  uint8_T RTC_WakeState;
  uint8_T CP_WakeState;
} ABI_WakeStateType;

typedef struct {
  uint32_T SOCDisp;
  uint32_T ActSOC;
  uint32_T SOH;
  uint32_T Cycle_Num;
  uint8_T FullChrg_Flg;
  uint32_T BatteryPackChargeCapacity;
  uint8_T UsedSOC;
  uint32_T RealSOC;
  uint8_T VehicleConfiguration[7];
  uint8_T FunctionConfiguration[7];
  uint8_T VehicleFunctionConfiguration_01[10];
  uint8_T VIN[17];
  BMSStoredTime BMSStoredTime;
  uint16_T Power_Consom;
  uint8_T BMS_CellDRCnt;
  uint16_T SOC_Ave_Read;
  uint8_T Mileage_Ave_Read;
  uint16_T CurrOffset_Cal;
  uint8_T Mileage;
  uint8_T Target_SOC;
  uint8_T Chrg_Num;
} ABI_NVM;

#endif
